﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Projeto.Classes.Conexao;
using Projeto.Classes.Objeto;
using Projeto.Utilidades;

namespace Projeto.Formularios
{
    public partial class Principal : Form
    {
        public Principal()
        {
            InitializeComponent();
        }

        private void searchDescarte()
        {
            Classes.Conexao.Descarte con = new Classes.Conexao.Descarte();
            if (con.SelectDescarte())
            {
                dgvDescarte.DataSource = con.dataTable;
                //colunas invisiveis
                dgvDescarte.Columns[constants.COLUMN_DESC_ID].Visible = false;
                //nomes das colunas visiveis
                dgvDescarte.Columns[constants.COLUMN_DESC_ID_RESP].HeaderText = constants.DATA_GRID_COLUMN_NOME_RESP;
                dgvDescarte.Columns[constants.COLUMN_DESC_ID_TIPO_DESC].HeaderText = constants.DATA_GRID_COLUMN_DESCR_TIPO_DESC;
                dgvDescarte.Columns[constants.COLUMN_DESC_ID_PROD].HeaderText = constants.DATA_GRID_COLUMN_NOME_PROD;
                dgvDescarte.Columns[constants.COLUMN_DESC_QTD_PROD].HeaderText = constants.DATA_GRID_COLUMN_QTD_PROD;
                dgvDescarte.Columns[constants.COLUMN_DESC_DATA_DESC].HeaderText = constants.DATA_GRID_COLUMN_DATA;
                dgvDescarte.Columns[constants.COLUMN_DESC_MOTIVO].HeaderText = constants.DATA_GRID_COLUMN_MOTIVO;
                //tamanho das colunas
                dgvDescarte.Columns[constants.COLUMN_DESC_QTD_PROD].Width = 30;
                dgvDescarte.Columns[constants.COLUMN_DESC_ID_RESP].Width = 150;
                dgvDescarte.Columns[constants.COLUMN_DESC_DATA_DESC].Width = 75;
                dgvDescarte.Columns[constants.COLUMN_DESC_ID_PROD].Width = 150;
                dgvDescarte.Columns[constants.COLUMN_DESC_MOTIVO].Width = 125;
                //Formatando valor de data
                dgvDescarte.Columns[constants.COLUMN_DESC_DATA_DESC].DefaultCellStyle.Format = "dd/MM/yyyy";
            }
            else
            {
                MessageBox.Show("Erro! Contacte o suporte.");
            }
        }

        private void produtoToolStripMenuItem_Click(object sender, EventArgs e)
        {
            frmRegistroProduto formProduto = new frmRegistroProduto();
            formProduto.Show();
        }

        private void responsávelToolStripMenuItem_Click(object sender, EventArgs e)
        {
            frmRegistroResponsavel formResponsavel = new frmRegistroResponsavel();
            formResponsavel.Show();
        }

        private void tipoDeDescarteToolStripMenuItem_Click(object sender, EventArgs e)
        {
            frmRegistroTipoDescarte formTipoDescarte = new frmRegistroTipoDescarte();
            formTipoDescarte.Show();
        }

        private void produoToolStripMenuItem_Click(object sender, EventArgs e)
        {
            frmBuscaProduto formBuscaProduto = new frmBuscaProduto();
            formBuscaProduto.Show();
        }

        private void tipoDeDescarteToolStripMenuItem1_Click(object sender, EventArgs e)
        {
            frmBuscaTipoDescarte formBuscaProduto = new frmBuscaTipoDescarte();
            formBuscaProduto.Show();
        }

        private void responsávelToolStripMenuItem1_Click(object sender, EventArgs e)
        {
            frmBuscaResponsavel formBuscaResponsavel = new frmBuscaResponsavel();
            formBuscaResponsavel.Show();
        }

        private void btnNovo_Click(object sender, EventArgs e)
        {
            frmRegistroDescarte formResgistroDescarte = new frmRegistroDescarte();
            formResgistroDescarte.Show();
        }

        private void btnPesquisar_Click(object sender, EventArgs e)
        {
            searchDescarte();
        }

        private void dgvDescarte_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
        {
            frmRegistroDescarte frmDesc = new frmRegistroDescarte();
            Classes.Objeto.Descarte desc = new Classes.Objeto.Descarte();

            desc.ds_motivo = dgvDescarte.CurrentRow.Cells[constants.COLUMN_DESC_MOTIVO].Value.ToString();
            desc.ds_produto = dgvDescarte.CurrentRow.Cells[constants.COLUMN_DESC_ID_PROD].Value.ToString();
            desc.ds_responsavel = dgvDescarte.CurrentRow.Cells[constants.COLUMN_DESC_ID_RESP].Value.ToString();
            desc.ds_tipo_descarte = dgvDescarte.CurrentRow.Cells[constants.COLUMN_DESC_ID_TIPO_DESC].Value.ToString();
            desc.dt_descarte = Convert.ToDateTime(dgvDescarte.CurrentRow.Cells[constants.COLUMN_DESC_DATA_DESC].Value);
            desc.qtd_produto = Convert.ToInt32(dgvDescarte.CurrentRow.Cells[constants.COLUMN_DESC_QTD_PROD].Value);

            frmDesc.loadInfoFromSearch(desc);
            frmDesc.disableFormControls();
            frmDesc.Show();
        }
    }
}
